
"""
文本块的数据结构，用于文档检索
"""
from typing import Optional, List
from pydantic import BaseModel, Field


class Document(BaseModel):
    """
    文本片段的内容，及其他相关信息
    distance: 命中的distance得分
    ## metadata可能包含以下字段：
    - 卷号: volume
    - 章节序号: chapter_number
    - 章节名称: chapter_title
    """
    id: str = Field(default='')
    content: str = Field(default='')
    embedding: List = Field(default=[])
    distance: float = Field(default=0)
    metadata: Optional[dict] = Field(default=None)